mybatis返回map类型数据空值字段不显示 |
您所在的位置:网站首页 › myBatis 参数类型为map不起作用 › mybatis返回map类型数据空值字段不显示 |
业务需求背景
为另一个系统提供接口查询数据,当数据为空时,该字段就直接不显示了,不符合对方的参数要求,现需要将所有字段进行展示。 解决方法一对具体字段进行判断,为空则给默认值显示 (CASE WHEN a.end_time is null then '' ELSE a.end_time END) as "endDate"也可以使用ifnull函数进行判断 IFNULL(a.end_time,'') as "endDate" 解决方法二 修改Mybatis配置文件,在mybatis-config.xml文件中启用callSettersOnNulls组件 如果是使用的springMVC+Mybatis的架构的话,需要在spring-mybatis.xml文件中添加指定的Mybatis的配置文件spring-mybatis.xml 解决方法三查询结果类型,使用实体类接收,而不是map接收;(我没有使用这种方法,因为我的需求返回值类型为List,这样的返回类型无需二次处理,直接返回给调用者就行了。 总结对比如果需要在值为空时,自定义显示值,显然是使用第一种方式比较好,但是缺点就是需要对每个修改的字段都做这样的判断;相比于方式一,方式二就更具有全局性,但是方式二不支持自定义的显示值,只会给为空的字段赋值为null;方式三的接收类型为实体类,方便于对象查询,而且字段为空时,可以进行自定义,需要在resultMap中,指定typeHandler即可。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |